﻿<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>PivotWeb API</title>
    <link href="/Content/site.css" rel="stylesheet"/>

    <script src="/Scripts/modernizr-2.5.3.js"></script>
</head>
<body>
    <section class="featured">
        <div class="content-wrapper">
            <hgroup class="title">
                <h1>The PiviotWeb API</h1><h2>Access PivotWeb with a REST-like API</h2>
            </hgroup>
        </div>
    </section>
    <section class="content-wrapper main-content clear-fix">
        <h3>How it works</h3>
        <p>
            PivotWeb collections are designed to be living collections. They are expected to evolve over time: add images, add facets, etc. The backend has been designed
            to work as efficiently as possible. In fact, as soon as you start uploading images the backend will start processing them into the DeepZoom image required for
            viewing the Pivot.
        </p>
        <p>
            The creation workflow is fairly simple. Start by creating a new collection on the server. Then upload the images and tag them with whatever metadata (facets) you desire. Once that is done
            you wait until the image is finish and you can use the plain-jane image viewer on the front page to view the Pivot, or use your own backend viewer if you wish. Large collections can
            take many minutes to render, so please be a little paitent!
        </p>
        <p>
            The update workflow is also fairly simple. In order to update an image you must know its name. But once that is done, you can tag it or re-tag it with new metadata. Or you can upload a new
            image. Adding or changing facets is very fast: it is seconds before your Pivot image is ready to be viewed. So update those as much as you wish. However, if you have to add or remove
            an image the update can take considerably longer. For a Pivot with 2000 images in it, the update takes minutes (sometimes as high as 5) - we are running on a very small and weak server
            right now!
        </p>
        <h3>Some Wrappers</h3>
        <p>
            Direct access to the web in most languages is never pretty. And sometimes it helps to cache information locally. Here is a very loose collection of API's that can be used.
        </p>
        <ul class="round">
            <li>
                <h5>Python</h5>
                A very simple python wrapper. Loading it in will get your help as well. The dump of <i><a href="PivotViewerCollection.txt">help(PivotViewerCollection)</a></i> and the <a href="PivotViewerCollectionPY.txt">python</a> file itself.
            </li>
            <li>
                <h5>C# Portable Library (.NET 4.5, etc.)</h5>
                A portable library has been built to access the PivotWeb service. It isn't on nuget because I am running a little private server and there is no authentication (yet). The library
                is fully async. To get it, download the drop from the <a href="http://pivotserver.codeplex.com/releases">downloads site</a>.
            </li>
        </ul>
        <h3>The API</h3>
        <p>
            The API is loosely based on the REST model. It is stateless, though I'm not sure every single rule associated with the GET/PUT, etc., verbs has been followed.
        </p>
    </section>
</body>
</html>
